fix(install): hand off to /LifeOS setup — /lifeos-setup is not a registered command#1403
fix(install): hand off to /LifeOS setup — /lifeos-setup is not a registered command#1403rpriven wants to merge 1 commit into
Conversation
…stered command The installer's final step (and its dry-run message, fallback printf, and header comments) invokes /lifeos-setup, but the shipped skill registers as 'LifeOS' (SKILL.md name: LifeOS), so client-side command resolution rejects it: 'Unknown command: /lifeos-setup'. Every fresh install currently ends with an error instead of onboarding. Validated on a clean Debian 13 container and a separate Linux host (Claude Code 2.1.198) — deterministic, client-side. Applied to both the repo installer and the nested skill-payload copy. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Re-verified against v6.0.3 / current main: both install.sh files still call the unregistered |
|
Thanks a lot for this, @rpriven — really appreciate you flagging it and taking the time to write the fix. When I went back through the current source, this turns out to already be handled: thanks for catching the unregistered-command handoff — source already ships /LifeOS setup, so this is fixed upstream. The system has moved a fair bit since you opened this (the PAI → LifeOS rename and a few subsystem rewrites), so the gap you spotted has since been closed independently. Going to close this one out on that basis — but genuinely grateful for the contribution. 🙏 |
What happens
The installer's final step execs
claude "/lifeos-setup", but the shipped skill registers asLifeOS(SKILL.md→name: LifeOS,argument-hint: [setup|…]). Client-side command resolution rejects/lifeos-setup(and/lifeos) before skill routing ever sees it:Only
/LifeOS setupworks. So every fresh install currently ends with an error instead of onboarding, and a new user who doesn't guess the casing + argument form is stranded at the finish line. The fallbackprintfand the dry-run message send them to the same dead command.Validated: clean Debian 13 container AND a separate Linux host with only the skill present (Claude Code 2.1.198) — deterministic, client-side. The currently-served
ourlifeos.ai/install.shhas the same handoff, so it needs a redeploy after this merges.The fix
/lifeos-setup→/LifeOS setupat all 5 occurrences (exec, dry-run message, fallback printf, two header comments), applied to both the repo installer and the nested skill-payload copy (LifeOS/install/skills/LifeOS/install/install.sh).Alternative if you'd rather keep the published copy valid: register an explicit
lifeos-setupalias command in the skill — the SKILL.md routing table already maps/lifeos-setupinternally, but the client rejects unregistered commands before that routing applies. Happy to rework the PR that way instead.Found during day-one Linux (Debian) runtime validation of v6.